<template>
	<el-row :gutter="40" class="panel-group">
		<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
			<div class="card-panel" @click="gotorouter('pending',0)">
				<div class="card-panel-icon-wrapper icon-people">
					<svg-icon icon-class="size" class-name="card-panel-icon" />
				</div>
				<div class="card-panel-description">
					<div class="card-panel-text">
						报警案件
					</div>
					<p> 未处理数
						<count-to :start-val="0" :end-val="this.pending" :duration="2600" class="card-panel-numl" />
					</p>
				</div>
			</div>
		</el-col>
		<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
			<div class="card-panel" @click="gotorouter('processing',1)">
				<div class="card-panel-icon-wrapper icon-message">
					<svg-icon icon-class="message" class-name="card-panel-icon" />
				</div>
				<div class="card-panel-description">
					<div class="card-panel-text">
						报警处理中
					</div>
					<p> 未完成数
						<count-to :start-val="0" :end-val="this.processing" :duration="2600" class="card-panel-numl" />
					</p>
				</div>
			</div>
		</el-col>
		<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
			<div class="card-panel" @click="gotorouter('completed',4)">
				<div class="card-panel-icon-wrapper icon-money">
					<svg-icon icon-class="tree" class-name="card-panel-icon" />
				</div>
				<div class="card-panel-description">
					<div class="card-panel-text">
						处理完成
					</div>
					<p> 已处理数
						<count-to :start-val="0" :end-val="this.completed" :duration="2600" class="card-panel-numl" />
					</p>
				</div>
			</div>
		</el-col>
		<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
			<div class="card-panel" @click="gotorouter('revisited',3)">
				<div class="card-panel-icon-wrapper icon-shopping">
					<svg-icon icon-class="peoples" class-name="card-panel-icon" />
				</div>
				<div class="card-panel-description">
					<div class="card-panel-text">
						待回访案件
					</div>
					<p> 未处理数
						<count-to :start-val="0" :end-val="this.revisited" :duration="2600" class="card-panel-numl" />
					</p>
				</div>
			</div>
		</el-col>
	</el-row>
</template>

<script>
	import CountTo from 'vue-count-to'
	import {
		getData
	} from '@/api/indexChart.js'
		import store from '@/store'
	export default {
		components: {
			CountTo
		},
		data() {
			return {
				pending: undefined,
				revisited: undefined,
				completed: undefined,
				processing: undefined,
				queryParams: {
					userId: null,
					userUnity: null
				},
			}
		},
		created() {
			this.getData();
		},
		methods: {
			getData() {
				this.queryParams.userId = store.getters.userId;
				this.queryParams.userUnity = store.getters.userroles.roleId;
				getData(this.queryParams).then(res => {
					this.pending = res.rows[0].caseNone;
					this.revisited = res.rows[0].caseNoneVisit;
					this.completed = res.rows[0].caseFinish;
					this.processing = res.rows[0].caseIn;
				});
			},
			gotorouter(routername,states) {
				this.$router.push({
					path: "/" + routername ,
					query: { caseStatus: states }
				});
			}
		}
	}
</script>

<style lang="scss" scoped>
	.panel-group {
		margin-top: 18px;

		.card-panel-col {
			margin-bottom: 32px;
		}

		.card-panel {
			height: 108px;
			cursor: pointer;
			font-size: 12px;
			position: relative;
			overflow: hidden;
			color: #666;
			background: #fff;
			box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
			border-color: rgba(0, 0, 0, .05);

			&:hover {
				.card-panel-icon-wrapper {
					color: #fff;
				}

				.icon-people {
					background: #40c9c6;
				}

				.icon-message {
					background: #36a3f7;
				}

				.icon-money {
					background: #40c9c6;
				}

				.icon-shopping {
					background: #f4516c
				}
			}

			.icon-people {
				color: #40c9c6;
			}

			.icon-message {
				color: #36a3f7;
			}

			.icon-money {
				color: #40c9c6;
			}

			.icon-shopping {
				color: #f4516c
			}

			.card-panel-icon-wrapper {
				float: left;
				margin: 14px 0 0 14px;
				padding: 16px;
				transition: all 0.38s ease-out;
				border-radius: 6px;
			}

			.card-panel-icon {
				float: left;
				font-size: 48px;
			}

			.card-panel-description {
				float: right;
				font-weight: bold;
				margin: 26px;
				margin-left: 0px;

				.card-panel-text {
					line-height: 18px;
					color: rgba(0, 0, 0, 0.45);
					font-size: 16px;
					margin-bottom: 12px;
				}

				.card-panel-num {
					font-size: 20px;
				}

				.card-panel-numl {
					font-size: 18px;
					color: red;
				}
			}
		}
	}

	@media (max-width:550px) {
		.card-panel-description {
			display: none;
		}

		.card-panel-icon-wrapper {
			float: none !important;
			width: 100%;
			height: 100%;
			margin: 0 !important;

			.svg-icon {
				display: block;
				margin: 14px auto !important;
				float: none !important;
			}
		}
	}
</style>
